package com.yc.services;

import com.yc.web.controller.model.ResponseResult;

import java.time.LocalDateTime;

public interface RedPacketService {
    /**
     * 抢红包
     * @param activityId 红包活动ID
     * @param userId 用户ID
     * @return 响应结果，包含抢到的红包金额或错误信息
     */
    ResponseResult grabRedPacket(Long activityId, Long userId);

    /**
     * 创建红包活动
     * @param totalAmount 总金额
     * @param totalCount 总数量
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 响应结果，包含创建的活动ID或错误信息
     */
    ResponseResult createRedPacketActivity(Double totalAmount, Integer totalCount,
                                           LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 获取红包活动详情
     * @param activityId 活动ID
     * @return 响应结果，包含活动详情或错误信息
     */
    ResponseResult getRedPacketActivity(Long activityId);

    /**
     * 获取用户红包领取记录
     * @param userId 用户ID
     * @param activityId 活动ID
     * @return 响应结果，包含领取记录或错误信息
     */
    ResponseResult getUserRedPacketRecord(Long userId, Long activityId);
}
